GDK W32: Make sure drag source window is not NULL
authorРуслан Ижбулатов <lrn1986@gmail.com>
Sun, 26 Nov 2017 13:10:44 +0000 (13:10 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Thu, 30 Nov 2017 04:17:28 +0000 (04:17 +0000)
This prevents GTK from throwing a bunch of warnings when it tries
to get drag source window -> screen of that window -> ipc widget for that screen,
and then tries to attach a signal handler to that widget.

Specifically, this happens when we get a DnD move from another
application.

https://bugzilla.gnome.org/show_bug.cgi?id=786509

gdk/win32/gdkdnd-win32.c

index cb7eaa5c37a9ad619a12fc70ac558f0b76a13755..d650a70d0d0873c35587eba96737c7c2553ac344 100644 (file)
@@ -575,6 +575,8 @@ idroptarget_dragenter (LPDROPTARGET This,
    */
   if (current_src_context && current_src_context->context)
     g_set_object (&context->source_window, current_src_context->context->source_window);
+  else
+    g_set_object (&context->source_window, gdk_get_default_root_window ());
 
   g_set_object (&sel_win32->target_drag_context, context);
   context->actions = GDK_ACTION_DEFAULT | GDK_ACTION_COPY | GDK_ACTION_MOVE;